import { http } from '@/utils/http'
export type UserResult = {
  success: boolean
  data: UserInfo
}
export type UserInfo = {
  /** 头像 */
  avatar: string
  /** 用户名 */
  username: string
  /** 昵称 */
  nickname: string
  /** 当前登录用户的角色 */
  roles: Array<string>
  /** 按钮级别权限 */
  permissions: Array<string>
}
export type RefreshTokenResult = {
  /** `token` */
  accessToken: string
  /** 用于调用刷新`accessToken`的接口时所需的`token` */
  refreshToken: string
  /** `accessToken`的过期时间（格式'xxxx/xx/xx xx:xx:xx'） */
  expires: Date
}

/** 登录 */
export const getLogin = (data?: object) => {
  return http.request<RefreshTokenResult>('post', '/api/login', { data })
}

/** 刷新`token` */
export const refreshTokenApi = (data?: object) => {
  return http.request<RefreshTokenResult>('post', '/refresh-token', { data })
}

// 获取用户信息
export function getUserInfo() {
  return http.request<UserInfo>('post', '/api/user/info')
}
